public class Main {
    public static void main(String[] args) {
        System.out.println("开始测试装饰模式-装修房子");
        System.out.println();

        // 创建基本的房子
        House basicHouse = new BasicHouse();
        System.out.println("基本房子描述：" + basicHouse.getDescription());

        // 使用装饰者模式进行装修
        House paintedHouse = new PaintDecorator(basicHouse);
        System.out.println("油漆装修后的房子描述：" + paintedHouse.getDescription());

        House furnishedHouse = new FurnitureDecorator(basicHouse);
        System.out.println("家具装修后的房子描述：" + furnishedHouse.getDescription());

        // 同时进行多种装修
        House fullyDecoratedHouse = new FurnitureDecorator(new PaintDecorator(basicHouse));
        System.out.println("同时进行油漆和家具装修后的房子描述：" + fullyDecoratedHouse.getDescription());
    }
}